1. Field of the Invention
This invention relates generally to computer networks, and more particularly provides a system and method for globally and securely accessing unified information in a computer network.
2. Description of the Background Art
The internet currently interconnects about 100,000 computer networks and several million computers. Each of these computers stores numerous application programs for providing numerous services, such as generating, sending and receiving e-mail, accessing World Wide Web sites, generating and receiving facsimile documents, storing and retrieving data, etc.
A roaming user, i.e., a user who travels and accesses a workstation remotely, is faced with several problems. Program designers have developed communication techniques for enabling the roaming user to establish a communications link and to download needed information and needed service application programs from the remote workstation to a local computer. Using these techniques, the roaming user can manipulate the data on the remote workstation and, when finished, can upload the manipulated data back from the remote workstation to the local computer. However, slow computers and slow communication channels make downloading large files and programs a time-consuming process. Further, downloading files and programs across insecure channels severely threatens the integrity and confidentiality of the downloaded data.
Data consistency is also a significant concern for the roaming user. For example, when maintaining multiple independently modifiable copies of a document, a user risks using an outdated version. By the time the user notices an inconsistency, interparty miscommunication or data loss may have already resulted. The user must then spend more time attempting to reconcile the inconsistent versions and addressing any miscommunications.
The problem of data inconsistency is exacerbated when multiple copies of a document are maintained at different network locations. For example, due to network security systems such as conventional firewall technology, a user may have access only to a particular one of these network locations. Without access to the other sites, the user cannot confirm that the version on the accessible site is the most recent draft.
Data consistency problems may also arise when using application programs from different vendors. For example, the Netscape Navigator(trademark) web engine and the Internet Explorer(trademark) web engine each store bookmarks for quick reference to interesting web sites. However, since each web engine uses different formats and stores bookmarks in different files, the bookmarks are not interchangeable. In addition, one web engine may store a needed bookmark, and the other may not. A user who, for example, runs the Internet Explorer(trademark) web engine at home and runs the Netscape Navigator(trademark) web engine at work risks having inconsistent bookmarks at each location.
Therefore, a system and method are needed to enable multiple users to access computer services remotely without consuming excessive user time, without severely threatening the integrity and confidentiality of the data, and without compromising data consistency.
The present invention provides a system and methods for providing global and secure access to services and to unified (synchronized) workspace elements in a computer network. A user can gain access to a global server using any terminal, which is connected via a computer network such as the Internet to the global server and which is enabled with a web engine.
A client stores a first set of workspace data, and is coupled via a computer network to a global server. The client is configured to synchronize selected portions of the first set of workspace data (comprising workspace elements) with the global server, which stores independently modifiable copies of the selected portions. The global server may also store workspace data not received from the client, such as e-mail sent directly to the global server. Accordingly, the global server stores a second set of workspace data. The global server is configured to identify and authenticate a user attempting to access it from a remote terminal, and is configured to provide access based on the client configuration either to the first set of workspace data stored on the client or to the second set of workspace data stored on the global server. It will be appreciated that the global server can manage multiple clients and can synchronize workspace data between clients.
Service engines for managing services such as e-mail management, accessing bookmarks, calendaring, network access, etc. may be stored anywhere in the computer network, including on the client, on the global server or on any other computer. The global server is configured to provide the user with access to services, which based on level of authentication management or user preferences may include only a subset of available services. Upon receiving a service request from the client, the global server sends configuration information to enable access to the service.
Each client includes a base system and the global server includes a synchronization agent. The base system and synchronization agent automatically establish a secure connection therebetween and synchronize the selected portions of the first set of workspace data stored on the client and the second set of workspace data stored on the global server. The base system operates on the client and examines the selected portions to determine whether any workspace elements have been modified since last synchronization. The synchronization agent operates on the global server and informs the base system whether any of the workspace elements in the second set have been modified. Modified version may then be exchanged so that an updated set of workspace elements may be stored at both locations, and so that the remote user can access an updated database. If a conflict exists between two versions, the base system then performs a responsive action such as examining content and generating a preferred version, which may be stored at both locations. The system may further include a synchronization-start module at the client site (which may be protected by a firewall) that initiates interconnection and synchronization when predetermined criteria have been satisfied.
A method of the present invention includes establishing a communications link between the client and the global server. The method includes establishing a communications link between the client and a service based upon user requests. The method receives configuration data and uses the configuration data to configure the client components such as the operating system, the web engine and other components. Configuring client components enables the client to communicate with the service and provides a user-and-service-specific user interface on the client. Establishing a communications link may also include confirming access privileges.
Another method uses a global translator to synchronize workspace elements. The method includes the steps of selecting workspace elements for synchronization, establishing a communications link between a client and a global server, examining version information for each of the workspace elements on the client and on the global server to determine workspace elements which have been modified since last synchronization. The method continues by comparing the corresponding versions and performing a responsive action. Responsive actions may include storing the preferred version at both stores or reconciling the versions using content-based analysis.
The system and methods of the present invention advantageously provide a secure globally accessible third party, i.e. the global server. The system and methods provide a secure technique for enabling a user to access the global server and thus workspace data remotely and securely. Because of the global firewall and the identification and security services performed by the global server, corporations can store relatively secret information on the global server for use by authorized clients. Yet, the present invention also enables corporations to maintain only a portion of their secret information on the global server, so that there would be only limited loss should the global server be compromised. Further, the global server may advantageously act as a client proxy for controlling access to services, logging use of keys and logging access of resources.
A client user who maintains a work site, a home site, an off-site and the global server site can securely synchronize the workspace data or portions thereof among all four sites. Further, the predetermined criteria (which control when the synchronization-start module initiates synchronization) may be set so that the general synchronization module synchronizes the workspace data upon user request, at predetermined times during the day such as while the user is commuting, or after a predetermined user action such as user log-off or user log-on. Because the system and method operate over the Internet, the system is accessible using any connected terminal having a web engine such as an intemet-enabled smart phone, television settop (e.g., web TV), etc. and is accessible over any distance. Since the system and method include format translation, merging of workspace elements between different application programs and different platforms is possible. Further, because synchronization is initiated from within the firewall, the typical firewall, which prevents in-bound communications and only some protocols of out-bound communications, does not act as an impediment to workspace element synchronization.
Further, a roaming user may be enabled to access workspace data from the global server or may be enabled to access a service for accessing workspace data from a client. For example, a user may prefer not to store personal information on the global server but may prefer to have remote access to the information. Further, the user may prefer to store highly confidential workspace elements on the client at work as added security should the global server be compromised.
The present invention may further benefit the roaming user who needs emergency access to information. The roaming user may request a Management Information Systems (MIS) director controlling the client to provide the global server with the proper keys to enable access to the information on the client. If only temporary access is desired, the keys can then be later destroyed either automatically or upon request. Alternatively, the MIS director may select the needed information as workspace elements to be synchronized and may request immediate synchronization with the global server. Accordingly, the global server and the client can synchronize the needed information, and the user can access the information from the global server after it has completed synchronization.
The present invention also enables the system and methods to synchronize keys, available services and corresponding service addresses to update accessibility of workspace data and services. For example, if the user of a client accesses a site on the Internet which requires a digital certificate and the user obtains the certificate, the system and methods of the present invention may synchronize this newly obtained certificate with the keys stored on the global server. Thus, the user need not contact the global server to provide it with the information. The synchronization means will synchronize the information automatically.